﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Redis实战.Models
{

    /// <summary>
    /// 用户实体类（映射到MySQL的Users表）
    /// </summary>
    public class User
    {
        /// <summary>
        /// 主键ID（自增）
        /// </summary>
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        /// <summary>
        /// 用户名（非空，最长50字符）
        /// </summary>
        [Required(ErrorMessage = "用户名不能为空")]
        [MaxLength(50, ErrorMessage = "用户名最长50个字符")]
        public string Name { get; set; }

        /// <summary>
        /// 年龄（1-120岁之间）
        /// </summary>
        [Range(1, 120, ErrorMessage = "年龄必须在1-120之间")]
        public int Age { get; set; }

        /// <summary>
        /// 邮箱（可选，格式验证）
        /// </summary>
        [MaxLength(100, ErrorMessage = "邮箱最长100个字符")]
        [EmailAddress(ErrorMessage = "邮箱格式不正确")]
        public string Email { get; set; }

        /// <summary>
        /// 最后更新时间（自动维护）
        /// </summary>
        public DateTime LastUpdated { get; set; } = DateTime.UtcNow; // 默认值为当前时间
    }
}
